1. Field
This disclosure generally relates to a data processing apparatus, a data processing system, a method for controlling data processing apparatus, a method for adding a data converting function, program and medium.
2. Description of the Related Art
A data processing apparatus that listens to (monitors) a specific port and processes data received via the port regardless of a data format has been proposed.
A printer that prints based on print data received from, for example, a PC (personal computer) is an example of such a data processing apparatus.
FIG. 21 is a functional block diagram showing a configuration of such a PC and a printer.
As shown in this diagram, a PC 80 is generally provided with an application 81 such as a word processor program, a spreadsheet program and a drawing program, so as to realize various functions. And a user gives a print instruction to the application 81 to print documents, diagrams or a like handled by the application 81.
Additionally, the PC 80 is provided with a printer driver 82 that converts data output by the application 81 into print data in a data format of a printer language that can be processed by a printer 90. When a user gives a print instruction, the application 81 sends data to be printed to the printer driver 82 corresponding to the printer designated by a user, and the printer driver 82 converts the data into the print data in the format that can be processed by the designated printer and spools the data in a spool directory of a port monitor 83.
The port monitor 83 is a driver that transmits data between the PC 80 and the printer 90. The port monitor 83 sends data spooled in the spool directory to the port 9100 in the printer to be used. This port is used by the printer 90 to receive print data and determined according to a protocol used by the printer 90.
On the other hand, the printer 90 is provided with a printer engine 93 that is an engine part to perform actual printing and a printer application 91.
The printer application 91 lists to the port 9100 while the printer application 91 is active. When the printer application 91 receives data via this port, the printer application 91 converts the data into image data so that the printer engine 93 can print, on the assumption that the data are print data in the specific printer language. This process is, for example, a process that generates image data in the format of bitmap data by conducting a generating process in a image memory based on print data. While driven based on the image data, the printer engine 93 can form an image corresponding to the print data on paper:
In this case, in view of efficiency of development and reduction of processing load, the printer application 91 does not check a data format of received data and conducts the same process to any received data. This is not a problem for an operation of the printer 90, if a PC side, as a data source, always sends data in the format that can be processed by the printer application 91.
Such a printer is described, for example, in
Japanese Laid-Open Application 2004-252984 (paragraph 0061).
However, like the printer 90 described above, in the case a data receiver can only process data in the specific format, a data sender must send data in the same format. Accordingly, it is impossible to improve transmission speed by compressing data to be sent so as to reduce data volume or to improve security level by encrypting data.
In order to solve this problem, a technology wherein a data receiver decides a format of received data and conducts a process according to a result of the determination may be applied. However, this brings more processing load and imposes more burden to develop because of modifying the existing printer application needs to be modified thoroughly.
Such a problem exists not only in the printer 90 described above but also in data processing apparatuses that process data regardless of a data format of received data.